package com.test.registry;

/**
 * SingletonBeanRegistry接口用于管理和注册单例Bean
 * 它提供了获取已注册的单例Bean和注册新单例Bean的能力
 */
public interface SingletonBeanRegistry {
    /**
     * 根据Bean名称获取单例对象
     * 如果请求的Bean没有注册，则返回null
     *
     * @param beanName Bean的唯一名称
     * @return 单例对象，如果未找到则返回null
     */
    Object getSingleton(String beanName);

    /**
     * 在注册表中注册一个单例对象
     * 如果相同的Bean名称已经存在，则会替换现有的单例对象
     *
     * @param beanName       Bean的唯一名称
     * @param singletonObject 要注册的单例对象
     */
    void registrySingleton(String beanName, Object singletonObject);
}
